home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 33 / Mac Magazin and MacEasy Magazine CD - Issue 33.iso / Office / Amy's Recipes 2.4 / Amy's Recipes2.4 / Amy's Recipes2.4 / background_8005.xml < prev    next >
Extensible Markup Language  |  1997-05-19  |  67KB  |  931 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
  3. <background>
  4.     <id>8005</id>
  5.     <filler1>0</filler1>
  6.     <bitmap>BMAP_8480.pbm</bitmap>
  7.     <cantDelete> <true /> </cantDelete>
  8.     <showPict> <true /> </showPict>
  9.     <dontSearch> <false /> </dontSearch>
  10.     <link rel="stylesheet" type="text/css" href="stylesheet_3166.css" />
  11.     <part>
  12.         <id>40</id>
  13.         <type>field</type>
  14.         <visible> <true /> </visible>
  15.         <dontWrap> <false /> </dontWrap>
  16.         <dontSearch> <false /> </dontSearch>
  17.         <sharedText> <true /> </sharedText>
  18.         <fixedLineHeight> <false /> </fixedLineHeight>
  19.         <autoTab> <false /> </autoTab>
  20.         <lockText> <true /> </lockText>
  21.         <rect>
  22.             <left>0</left>
  23.             <top>4</top>
  24.             <right>32</right>
  25.             <bottom>395</bottom>
  26.         </rect>
  27.         <style>opaque</style>
  28.         <autoSelect> <false /> </autoSelect>
  29.         <showLines> <false /> </showLines>
  30.         <wideMargins> <false /> </wideMargins>
  31.         <multipleLines> <false /> </multipleLines>
  32.         <reservedFamily> 0 </reservedFamily>
  33.         <titleWidth>0</titleWidth>
  34.         <icon>0</icon>
  35.         <textAlign>left</textAlign>
  36.         <font>Geneva</font>
  37.         <textSize>12</textSize>
  38.         <textStyle>plain</textStyle>
  39.         <textHeight>16</textHeight>
  40.         <name>HideIt</name>
  41.         <script></script>
  42.     </part>
  43.     <part>
  44.         <id>1</id>
  45.         <type>button</type>
  46.         <visible> <true /> </visible>
  47.         <reserved5> 0 </reserved5>
  48.         <reserved4> 0 </reserved4>
  49.         <reserved3> 0 </reserved3>
  50.         <reserved2> 0 </reserved2>
  51.         <reserved1> 0 </reserved1>
  52.         <enabled> <true /> </enabled>
  53.         <rect>
  54.             <left>618</left>
  55.             <top>14</top>
  56.             <right>640</right>
  57.             <bottom>142</bottom>
  58.         </rect>
  59.         <style>transparent</style>
  60.         <showName> <false /> </showName>
  61.         <highlight> <false /> </highlight>
  62.         <autoHighlight> <true /> </autoHighlight>
  63.         <sharedHighlight> <true /> </sharedHighlight>
  64.         <family>0</family>
  65.         <titleWidth>0</titleWidth>
  66.         <icon>0</icon>
  67.         <textAlign>center</textAlign>
  68.         <font>Chicago</font>
  69.         <textSize>12</textSize>
  70.         <textStyle>plain</textStyle>
  71.         <name></name>
  72.         <script>on mouseUpput "This feature will be added in version 3.0.  Right now you can use the Mini Cookbook "¬¨& "to plan your meals.  3.0 is planned for '96 & FREE to registered users." into TheMessageoops TheMessageend mouseUpon mouseenterFullBalloons showDirect,"This feature is not added yet, click me for more info."¬¨&& "(The Title Screen.)"end mouseenter</script>
  73.     </part>
  74.     <part>
  75.         <id>2</id>
  76.         <type>button</type>
  77.         <visible> <true /> </visible>
  78.         <reserved5> 0 </reserved5>
  79.         <reserved4> 0 </reserved4>
  80.         <reserved3> 0 </reserved3>
  81.         <reserved2> 0 </reserved2>
  82.         <reserved1> 0 </reserved1>
  83.         <enabled> <true /> </enabled>
  84.         <rect>
  85.             <left>615</left>
  86.             <top>154</top>
  87.             <right>640</right>
  88.             <bottom>282</bottom>
  89.         </rect>
  90.         <style>transparent</style>
  91.         <showName> <false /> </showName>
  92.         <highlight> <false /> </highlight>
  93.         <autoHighlight> <true /> </autoHighlight>
  94.         <sharedHighlight> <true /> </sharedHighlight>
  95.         <family>0</family>
  96.         <titleWidth>0</titleWidth>
  97.         <icon>0</icon>
  98.         <textAlign>center</textAlign>
  99.         <font>Chicago</font>
  100.         <textSize>12</textSize>
  101.         <textStyle>plain</textStyle>
  102.         <name></name>
  103.         <script>on mouseUpplay "click"set cursor to watchglobal Categoryput bg field "Category" into Categoryif the optionKey is downthensend "ShowMe" && quote & Category & quote to bg field "Recipe Names" of card CategoryelseGoCategoryend ifend mouseUpon mouseenterFullBalloons showDirect,"Click me view the current category's index.  Option click me"¬¨&&"to get a floating window of the category index."end mouseenter</script>
  104.     </part>
  105.     <part>
  106.         <id>3</id>
  107.         <type>button</type>
  108.         <visible> <true /> </visible>
  109.         <reserved5> 0 </reserved5>
  110.         <reserved4> 0 </reserved4>
  111.         <reserved3> 0 </reserved3>
  112.         <reserved2> 0 </reserved2>
  113.         <reserved1> 0 </reserved1>
  114.         <enabled> <true /> </enabled>
  115.         <rect>
  116.             <left>572</left>
  117.             <top>348</top>
  118.             <right>605</right>
  119.             <bottom>398</bottom>
  120.         </rect>
  121.         <style>shadow</style>
  122.         <showName> <true /> </showName>
  123.         <highlight> <false /> </highlight>
  124.         <autoHighlight> <true /> </autoHighlight>
  125.         <sharedHighlight> <true /> </sharedHighlight>
  126.         <family>0</family>
  127.         <titleWidth>0</titleWidth>
  128.         <icon>22702</icon>
  129.         <textAlign>center</textAlign>
  130.         <font>Chicago</font>
  131.         <textSize>12</textSize>
  132.         <textStyle>plain</textStyle>
  133.         <name>Next</name>
  134.         <script>on mouseDownplay "click"mouseStillDownend mouseDownon mouseStillDown-- go next card of this bg --nextcardwait until the sound is doneend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the next recipe."end mouseenter</script>
  135.     </part>
  136.     <part>
  137.         <id>4</id>
  138.         <type>button</type>
  139.         <visible> <true /> </visible>
  140.         <reserved5> 0 </reserved5>
  141.         <reserved4> 0 </reserved4>
  142.         <reserved3> 0 </reserved3>
  143.         <reserved2> 0 </reserved2>
  144.         <reserved1> 0 </reserved1>
  145.         <enabled> <true /> </enabled>
  146.         <rect>
  147.             <left>538</left>
  148.             <top>348</top>
  149.             <right>571</right>
  150.             <bottom>398</bottom>
  151.         </rect>
  152.         <style>shadow</style>
  153.         <showName> <true /> </showName>
  154.         <highlight> <false /> </highlight>
  155.         <autoHighlight> <true /> </autoHighlight>
  156.         <sharedHighlight> <true /> </sharedHighlight>
  157.         <family>0</family>
  158.         <titleWidth>0</titleWidth>
  159.         <icon>22701</icon>
  160.         <textAlign>center</textAlign>
  161.         <font>Chicago</font>
  162.         <textSize>12</textSize>
  163.         <textStyle>plain</textStyle>
  164.         <name>Prev</name>
  165.         <script>on mouseDownplay "click"mouseStillDownend mouseDownon mouseStillDownwait until the sound is doneprevcardend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the next recipe."end mouseenter</script>
  166.     </part>
  167.     <part>
  168.         <id>7</id>
  169.         <type>field</type>
  170.         <visible> <true /> </visible>
  171.         <dontWrap> <false /> </dontWrap>
  172.         <dontSearch> <false /> </dontSearch>
  173.         <sharedText> <true /> </sharedText>
  174.         <fixedLineHeight> <false /> </fixedLineHeight>
  175.         <autoTab> <false /> </autoTab>
  176.         <lockText> <false /> </lockText>
  177.         <rect>
  178.             <left>41</left>
  179.             <top>33</top>
  180.             <right>137</right>
  181.             <bottom>51</bottom>
  182.         </rect>
  183.         <style>transparent</style>
  184.         <autoSelect> <false /> </autoSelect>
  185.         <showLines> <false /> </showLines>
  186.         <wideMargins> <false /> </wideMargins>
  187.         <multipleLines> <false /> </multipleLines>
  188.         <reservedFamily> 0 </reservedFamily>
  189.         <titleWidth>0</titleWidth>
  190.         <icon>0</icon>
  191.         <textAlign>left</textAlign>
  192.         <font>Helvetica</font>
  193.         <textSize>15</textSize>
  194.         <textStyle>bold</textStyle>
  195.         <textHeight>20</textHeight>
  196.         <name></name>
  197.         <script></script>
  198.     </part>
  199.     <part>
  200.         <id>9</id>
  201.         <type>field</type>
  202.         <visible> <true /> </visible>
  203.         <dontWrap> <false /> </dontWrap>
  204.         <dontSearch> <false /> </dontSearch>
  205.         <sharedText> <true /> </sharedText>
  206.         <fixedLineHeight> <false /> </fixedLineHeight>
  207.         <autoTab> <false /> </autoTab>
  208.         <lockText> <false /> </lockText>
  209.         <rect>
  210.             <left>248</left>
  211.             <top>33</top>
  212.             <right>340</right>
  213.             <bottom>51</bottom>
  214.         </rect>
  215.         <style>transparent</style>
  216.         <autoSelect> <false /> </autoSelect>
  217.         <showLines> <false /> </showLines>
  218.         <wideMargins> <false /> </wideMargins>
  219.         <multipleLines> <false /> </multipleLines>
  220.         <reservedFamily> 0 </reservedFamily>
  221.         <titleWidth>0</titleWidth>
  222.         <icon>0</icon>
  223.         <textAlign>left</textAlign>
  224.         <font>Helvetica</font>
  225.         <textSize>15</textSize>
  226.         <textStyle>bold</textStyle>
  227.         <textHeight>20</textHeight>
  228.         <name></name>
  229.         <script></script>
  230.     </part>
  231.     <part>
  232.         <id>10</id>
  233.         <type>field</type>
  234.         <visible> <true /> </visible>
  235.         <dontWrap> <true /> </dontWrap>
  236.         <dontSearch> <true /> </dontSearch>
  237.         <sharedText> <false /> </sharedText>
  238.         <fixedLineHeight> <true /> </fixedLineHeight>
  239.         <autoTab> <false /> </autoTab>
  240.         <lockText> <true /> </lockText>
  241.         <rect>
  242.             <left>41</left>
  243.             <top>5</top>
  244.             <right>236</right>
  245.             <bottom>31</bottom>
  246.         </rect>
  247.         <style>transparent</style>
  248.         <autoSelect> <false /> </autoSelect>
  249.         <showLines> <false /> </showLines>
  250.         <wideMargins> <false /> </wideMargins>
  251.         <multipleLines> <false /> </multipleLines>
  252.         <reservedFamily> 0 </reservedFamily>
  253.         <titleWidth>0</titleWidth>
  254.         <icon>0</icon>
  255.         <textAlign>left</textAlign>
  256.         <font>Helvetica</font>
  257.         <textSize>18</textSize>
  258.         <textStyle>bold</textStyle>
  259.         <textHeight>24</textHeight>
  260.         <name>Category</name>
  261.         <script>on mouseenterif the mouseLoc is within the Rect of methenFullBalloons showDirect,"CATEGORY NAME:" & Return & "To change the category for this recipe:"¬¨& return &"(1) Unlock the recipe by clicking the pad lock looking button below."¬¨& return & "(2) I become a pop up menu that you can select a new category from!" & return & "(How wonderfully simple.)"end ifend mouseenteron BalloonItsend MouseEnter to meend BalloonIt</script>
  262.     </part>
  263.     <part>
  264.         <id>11</id>
  265.         <type>field</type>
  266.         <visible> <true /> </visible>
  267.         <dontWrap> <true /> </dontWrap>
  268.         <dontSearch> <false /> </dontSearch>
  269.         <sharedText> <false /> </sharedText>
  270.         <fixedLineHeight> <true /> </fixedLineHeight>
  271.         <autoTab> <false /> </autoTab>
  272.         <lockText> <true /> </lockText>
  273.         <rect>
  274.             <left>239</left>
  275.             <top>5</top>
  276.             <right>604</right>
  277.             <bottom>31</bottom>
  278.         </rect>
  279.         <style>transparent</style>
  280.         <autoSelect> <false /> </autoSelect>
  281.         <showLines> <false /> </showLines>
  282.         <wideMargins> <false /> </wideMargins>
  283.         <multipleLines> <false /> </multipleLines>
  284.         <reservedFamily> 0 </reservedFamily>
  285.         <titleWidth>0</titleWidth>
  286.         <icon>0</icon>
  287.         <textAlign>right</textAlign>
  288.         <font>Helvetica</font>
  289.         <textSize>18</textSize>
  290.         <textStyle>bold</textStyle>
  291.         <textHeight>24</textHeight>
  292.         <name>Recipe Name</name>
  293.         <script>on mouseupif the style of me is Shadowthenplay "Click"Put me into OldNameask "What do you want to change the name to?" with OldNameif it is empty OR it is OldName then exit mouseupelseif there is a card itthenbeepanswer "Sorry, a recipe by this name already exists.  Try another name besides:" && it with "oops"exit mouseupelseset cursor to watchput it into NewNameput ChangeTheCase (NewName) into NewNameif length of NewName > 33 then put char 1 to 33 of NewName into NewNameif there is not a card bg field "Category" thenAnswer "This program appears to need minor repairs.  Please stop now and choose REPAIR THIS COOKBOOK"¬¨&& "from the EDIT menu."exit mouseupend ifput bg field "Recipe Names" of card (bg field "Category") into TheCatListput offset(oldName,TheCatList) into StartPointput the number of characters in OldName + StartPoint -1 into EndPointput NewName into char StartPoint to Endpoint of TheCatListsort lines of theCatListput theCatList into bg field "Recipe Names" of card (bg field "Category")put NewName into meset the name of this card to NewNameif there is a window (bg field "Category")then set text of window (bg field "Category") to TheCatListset lockmessages to truelock screenpush cardsort cards by (bg field "Category" && bg field "Recipe Name")pop cardnumbercardset lockmessages to falseend ifend ifend ifend mouseupon MouseEnterBalloonItend MouseEnteron BalloonItif the mouseLoc is within the Rect of methenFullBalloons showDirect,"RECIPE NAME:" & Return & "To edit this name:"¬¨& return &"(1) Unlock the recipe by clicking the pad lock looking button below."¬¨& return & "(2) Click on me!" & return & "(How wonderfully simple.)"end ifend BalloonIt</script>
  294.     </part>
  295.     <part>
  296.         <id>14</id>
  297.         <type>field</type>
  298.         <visible> <true /> </visible>
  299.         <dontWrap> <false /> </dontWrap>
  300.         <dontSearch> <false /> </dontSearch>
  301.         <sharedText> <false /> </sharedText>
  302.         <fixedLineHeight> <false /> </fixedLineHeight>
  303.         <autoTab> <false /> </autoTab>
  304.         <lockText> <true /> </lockText>
  305.         <rect>
  306.             <left>41</left>
  307.             <top>51</top>
  308.             <right>223</right>
  309.             <bottom>346</bottom>
  310.         </rect>
  311.         <style>scrolling</style>
  312.         <autoSelect> <false /> </autoSelect>
  313.         <showLines> <false /> </showLines>
  314.         <wideMargins> <true /> </wideMargins>
  315.         <multipleLines> <false /> </multipleLines>
  316.         <reservedFamily> 0 </reservedFamily>
  317.         <titleWidth>0</titleWidth>
  318.         <icon>0</icon>
  319.         <textAlign>left</textAlign>
  320.         <font>Helvetica</font>
  321.         <textSize>12</textSize>
  322.         <textStyle>plain</textStyle>
  323.         <textHeight>16</textHeight>
  324.         <name>Ingredients</name>
  325.         <script>on arrowKey directionif direction = "up" then type "/"else pass arrowkeybeepend arrowkey directionon mouseenterput "INGREDIENTS:" & RETURN & "‚Ä¢ You can view this recipe's information at a bigger" ¬¨&& "size by double clicking on me." & return ¬¨& return & "‚Ä¢ To Edit this information unlock the recipe by" ¬¨&& "clicking the pad lock button above." into TheMessageif the mouseLoc is within the Rect of methen FullBalloons showDirect,TheMessageend mouseenteron BalloonItsend MouseEnter to meend BalloonIton mouseDoubleClickplay "Click"ShowMeAsWindowend mouseDoubleClickon ShowMeAsWindowset cursor to watchput bg field "recipe name" into WindowNameif there is not a window WindowNamethenput (the left of me) & "," & the top of me & "," &¬¨the right of bg field "Directions" & "," & (the bottom of me) into TheRectput me & return & "____________________" & return & return & bg Field "directions"¬¨into TheInfotextoid WindowName,TheInfo,BigWindoidZoom,"0 0 0,47362 29190 29190",TheRect¬¨,true,the textFont of me,(the textSize of me) + 4,Boldset the textWrap of window WindowName to trueset the locktext of window WindowName to trueelseshow window WindowNameend ifend ShowMeAsWindow-- on closefield-- global ImportMode-- if importMode is true-- then-- select text of me-- domenu "10"-- put "false" into importMode-- select empty-- end if-- end closefield</script>
  326.     </part>
  327.     <part>
  328.         <id>15</id>
  329.         <type>field</type>
  330.         <visible> <true /> </visible>
  331.         <dontWrap> <false /> </dontWrap>
  332.         <dontSearch> <false /> </dontSearch>
  333.         <sharedText> <false /> </sharedText>
  334.         <fixedLineHeight> <false /> </fixedLineHeight>
  335.         <autoTab> <false /> </autoTab>
  336.         <lockText> <true /> </lockText>
  337.         <rect>
  338.             <left>248</left>
  339.             <top>51</top>
  340.             <right>604</right>
  341.             <bottom>346</bottom>
  342.         </rect>
  343.         <style>scrolling</style>
  344.         <autoSelect> <false /> </autoSelect>
  345.         <showLines> <false /> </showLines>
  346.         <wideMargins> <true /> </wideMargins>
  347.         <multipleLines> <false /> </multipleLines>
  348.         <reservedFamily> 0 </reservedFamily>
  349.         <titleWidth>0</titleWidth>
  350.         <icon>0</icon>
  351.         <textAlign>left</textAlign>
  352.         <font>Helvetica</font>
  353.         <textSize>14</textSize>
  354.         <textStyle>plain</textStyle>
  355.         <textHeight>18</textHeight>
  356.         <name>Directions</name>
  357.         <script>on mouseenterput "DIRECTIONS:" & RETURN & "‚Ä¢ You can view this recipe's information at a bigger" ¬¨&& "size by double clicking on me." & return ¬¨& return & "‚Ä¢ To Edit this information unlock the recipe by" ¬¨&& "clicking the pad lock button above." into MyMessageif the mouseLoc is within the Rect of methen FullBalloons showDirect,MyMessageend mouseenteron BalloonItsend MouseEnter to meend BalloonIton mouseDoubleClicksend mouseDoubleClick to bg field "Ingredients"end mouseDoubleClick</script>
  358.     </part>
  359.     <part>
  360.         <id>16</id>
  361.         <type>button</type>
  362.         <visible> <true /> </visible>
  363.         <reserved5> 0 </reserved5>
  364.         <reserved4> 0 </reserved4>
  365.         <reserved3> 0 </reserved3>
  366.         <reserved2> 0 </reserved2>
  367.         <reserved1> 0 </reserved1>
  368.         <enabled> <true /> </enabled>
  369.         <rect>
  370.             <left>412</left>
  371.             <top>348</top>
  372.             <right>455</right>
  373.             <bottom>398</bottom>
  374.         </rect>
  375.         <style>shadow</style>
  376.         <showName> <true /> </showName>
  377.         <highlight> <false /> </highlight>
  378.         <autoHighlight> <true /> </autoHighlight>
  379.         <sharedHighlight> <true /> </sharedHighlight>
  380.         <family>0</family>
  381.         <titleWidth>0</titleWidth>
  382.         <icon>144</icon>
  383.         <textAlign>center</textAlign>
  384.         <font>Chicago</font>
  385.         <textSize>12</textSize>
  386.         <textStyle>italic</textStyle>
  387.         <name>Lock</name>
  388.         <script>on mouseUpset cursor to watchset hilight of me to trueif icon of me = 145then lockCardelse unlockCardset hilight of me to falseend mouseUpon lockCardplay "unlock"global ColorONlock screenset icon of me to "locked"set locktext of bg field "Ingredients" to trueset locktext of bg field "Directions" to truehide bg button "CategoryButton"set style of bg field "Recipe Name" to Transparentif ColorON is true then addColor ColorCard,stamp,1-- set name of me to "locked"end lockCardon unlockCardplay "unlock"global ColorONlock screenset icon of me to "unlocked"set locktext of bg field "Ingredients" to falseset locktext of bg field "Directions" to falsesend "SetMeUP" to bg button "CategoryButton"set style of bg field "Recipe Name" to Shadowif there is a window (bg field "Recipe Name") then close window (bg field "Recipe Name")if ColorON is truethenaddColor ColorCard,stamp,1-- addColor colorfield,"bg",11,"52428,52428,52428",2end if-- set name of me to "unlocked"unlock screenend unlockCardon mouseenterFullBalloons showDirect,"Click me unlock this recipe so it can be edited."end mouseenter</script>
  389.     </part>
  390.     <part>
  391.         <id>17</id>
  392.         <type>field</type>
  393.         <visible> <true /> </visible>
  394.         <dontWrap> <false /> </dontWrap>
  395.         <dontSearch> <true /> </dontSearch>
  396.         <sharedText> <false /> </sharedText>
  397.         <fixedLineHeight> <false /> </fixedLineHeight>
  398.         <autoTab> <false /> </autoTab>
  399.         <lockText> <true /> </lockText>
  400.         <rect>
  401.             <left>517</left>
  402.             <top>33</top>
  403.             <right>604</right>
  404.             <bottom>49</bottom>
  405.         </rect>
  406.         <style>transparent</style>
  407.         <autoSelect> <false /> </autoSelect>
  408.         <showLines> <false /> </showLines>
  409.         <wideMargins> <false /> </wideMargins>
  410.         <multipleLines> <false /> </multipleLines>
  411.         <reservedFamily> 0 </reservedFamily>
  412.         <titleWidth>0</titleWidth>
  413.         <icon>0</icon>
  414.         <textAlign>right</textAlign>
  415.         <font>Helvetica</font>
  416.         <textSize>12</textSize>
  417.         <textStyle>bold</textStyle>
  418.         <textHeight>16</textHeight>
  419.         <name>Page</name>
  420.         <script>on mouseupask "Go to what page?  (Max:" && last word of me & ")" with first word of me + 1if it = "cancel" then exit mouseupif there is a card it of this bg then go card it of this bgend mouseupon mouseenterFullBalloons showDirect,"Click me to go to any page number."end mouseenter</script>
  421.     </part>
  422.     <part>
  423.         <id>20</id>
  424.         <type>button</type>
  425.         <visible> <true /> </visible>
  426.         <reserved5> 0 </reserved5>
  427.         <reserved4> 0 </reserved4>
  428.         <reserved3> 0 </reserved3>
  429.         <reserved2> 0 </reserved2>
  430.         <reserved1> 0 </reserved1>
  431.         <enabled> <true /> </enabled>
  432.         <rect>
  433.             <left>456</left>
  434.             <top>349</top>
  435.             <right>497</right>
  436.             <bottom>398</bottom>
  437.         </rect>
  438.         <style>shadow</style>
  439.         <showName> <true /> </showName>
  440.         <highlight> <false /> </highlight>
  441.         <autoHighlight> <true /> </autoHighlight>
  442.         <sharedHighlight> <true /> </sharedHighlight>
  443.         <family>0</family>
  444.         <titleWidth>0</titleWidth>
  445.         <icon>22007</icon>
  446.         <textAlign>center</textAlign>
  447.         <font>Chicago</font>
  448.         <textSize>12</textSize>
  449.         <textStyle>plain</textStyle>
  450.         <name>Print</name>
  451.         <script>on mouseUpplay "Click"PrintRecipeend mouseUpon mouseenterFullBalloons showDirect,"Click me to print out a quick copy of this recipe alone."¬¨&&"You also can print multiple copies of a recipe to give to your friends."end mouseenter</script>
  452.     </part>
  453.     <part>
  454.         <id>26</id>
  455.         <type>button</type>
  456.         <visible> <false /> </visible>
  457.         <reserved5> 0 </reserved5>
  458.         <reserved4> 0 </reserved4>
  459.         <reserved3> 0 </reserved3>
  460.         <reserved2> 0 </reserved2>
  461.         <reserved1> 0 </reserved1>
  462.         <enabled> <true /> </enabled>
  463.         <rect>
  464.             <left>0</left>
  465.             <top>264</top>
  466.             <right>40</right>
  467.             <bottom>296</bottom>
  468.         </rect>
  469.         <style>shadow</style>
  470.         <showName> <true /> </showName>
  471.         <highlight> <false /> </highlight>
  472.         <autoHighlight> <false /> </autoHighlight>
  473.         <sharedHighlight> <true /> </sharedHighlight>
  474.         <family>0</family>
  475.         <titleWidth>0</titleWidth>
  476.         <icon>0</icon>
  477.         <textAlign>center</textAlign>
  478.         <font>Chicago</font>
  479.         <textSize>12</textSize>
  480.         <textStyle>plain</textStyle>
  481.         <name>Cut</name>
  482.         <script>on mouseUplock screen-- GET NAMEput bg field "Recipe Name" into Nameput bg field "Category" into Category-- CONFIRM DELETEAnswer "Delete" && Name & "?" with "Yes!" or "Cancel"If it = "cancel"thenexit mouseupend ifset cursor to watch-- GO TO NEXT RECIPEPUSH THE NEXT CARD OF THIS BG-- ACTUALLY DELETE THE RECIPEgo card Categorytype "Send" && Quote & "FindIt Name" & Quote && "to bg button Cut" & returnpop cardunlock screen with visual dissolve very fastend mouseUp</script>
  483.     </part>
  484.     <part>
  485.         <id>29</id>
  486.         <type>field</type>
  487.         <visible> <false /> </visible>
  488.         <dontWrap> <true /> </dontWrap>
  489.         <dontSearch> <false /> </dontSearch>
  490.         <sharedText> <true /> </sharedText>
  491.         <fixedLineHeight> <false /> </fixedLineHeight>
  492.         <autoTab> <false /> </autoTab>
  493.         <lockText> <true /> </lockText>
  494.         <rect>
  495.             <left>11</left>
  496.             <top>106</top>
  497.             <right>180</right>
  498.             <bottom>295</bottom>
  499.         </rect>
  500.         <style>scrolling</style>
  501.         <autoSelect> <false /> </autoSelect>
  502.         <showLines> <false /> </showLines>
  503.         <wideMargins> <false /> </wideMargins>
  504.         <multipleLines> <false /> </multipleLines>
  505.         <reservedFamily> 0 </reservedFamily>
  506.         <titleWidth>0</titleWidth>
  507.         <icon>0</icon>
  508.         <textAlign>left</textAlign>
  509.         <font>Helvetica</font>
  510.         <textSize>12</textSize>
  511.         <textStyle>plain</textStyle>
  512.         <textHeight>16</textHeight>
  513.         <name>Batch</name>
  514.         <script>on mousedownhide meend mousedown</script>
  515.     </part>
  516.     <part>
  517.         <id>34</id>
  518.         <type>field</type>
  519.         <visible> <false /> </visible>
  520.         <dontWrap> <false /> </dontWrap>
  521.         <dontSearch> <true /> </dontSearch>
  522.         <sharedText> <false /> </sharedText>
  523.         <fixedLineHeight> <false /> </fixedLineHeight>
  524.         <autoTab> <false /> </autoTab>
  525.         <lockText> <true /> </lockText>
  526.         <rect>
  527.             <left>28</left>
  528.             <top>264</top>
  529.             <right>74</right>
  530.             <bottom>289</bottom>
  531.         </rect>
  532.         <style>shadow</style>
  533.         <autoSelect> <false /> </autoSelect>
  534.         <showLines> <false /> </showLines>
  535.         <wideMargins> <false /> </wideMargins>
  536.         <multipleLines> <false /> </multipleLines>
  537.         <reservedFamily> 0 </reservedFamily>
  538.         <titleWidth>0</titleWidth>
  539.         <icon>0</icon>
  540.         <textAlign>left</textAlign>
  541.         <font>Helvetica</font>
  542.         <textSize>12</textSize>
  543.         <textStyle>plain</textStyle>
  544.         <textHeight>16</textHeight>
  545.         <name>Continue</name>
  546.         <script>-- this field exists so I don't have to completely change the code-- to import recipeson mouseuphide meend mouseup</script>
  547.     </part>
  548.     <part>
  549.         <id>35</id>
  550.         <type>button</type>
  551.         <visible> <false /> </visible>
  552.         <reserved5> 0 </reserved5>
  553.         <reserved4> 0 </reserved4>
  554.         <reserved3> 0 </reserved3>
  555.         <reserved2> 0 </reserved2>
  556.         <reserved1> 0 </reserved1>
  557.         <enabled> <true /> </enabled>
  558.         <rect>
  559.             <left>41</left>
  560.             <top>5</top>
  561.             <right>236</right>
  562.             <bottom>31</bottom>
  563.         </rect>
  564.         <style>popup</style>
  565.         <showName> <false /> </showName>
  566.         <highlight> <false /> </highlight>
  567.         <autoHighlight> <true /> </autoHighlight>
  568.         <sharedHighlight> <true /> </sharedHighlight>
  569.         <family>0</family>
  570.         <titleWidth>0</titleWidth>
  571.         <selectedLines>
  572.             <integer>4</integer>
  573.         </selectedLines>
  574.         <textAlign>center</textAlign>
  575.         <font>Helvetica</font>
  576.         <textSize>15</textSize>
  577.         <textStyle>condense</textStyle>
  578.         <textStyle>bold</textStyle>
  579.         <name>CategoryButton</name>
  580.         <script>on mouseDownplay "click"end MouseDownon mouseUpChangeCategoryend mouseUpon SetMeUplock screenshow meput bg field "Table Of Contents" of Card 2 into merepeat with x = 1 to the number of lines in meif line x of me = bg field "Category"thenselect line x of meunlock screenexit SetMeUpend ifend repeatAnswer "This program appears to need minor repairs.  Please stop now and choose REPAIR THIS COOKBOOK"¬¨&& "from the EDIT menu."end SetMeUPon ChangeCategory NewCategoryif NewCategory is empty then put the SelectedTExt of me into NewCategoryif NewCategory = bg field "Category" then exit ChangeCategoryelseset cursor to watch-- FIRST DELETE RECIPE FROM OLD CATEGORY LISTput bg field "Recipe Name" into RecipeNameput bg field "Recipe Names" of card (bg field "Category") into OldCatListput offset(RecipeName,OldCatList) into StartPointput the number of characters in RecipeName + StartPoint into EndPoint  -- deletes name and return markput empty into char StartPoint to Endpoint of OldCatListput OldCatList into bg field "Recipe Names" of card (bg field "Category")if there is a window (bg field "Category")then set text of window (bg field "Category") to OldCatList-- THEN ADD RECIPE TO NEW CATEGORY LISTput NewCategory into  bg field "Category"put bg field "Recipe Names" of card (bg field "Category") into TheCatListput RecipeName & return before TheCatListsort lines of TheCatList-- put theCatList into bg field Directionsput TheCatList into bg field "Recipe Names" of card (bg field "Category")if there is a window (bg field "Category")then set text of window (bg field "Category") to TheCatList-- SORT THE CARDSset lockmessages to truelock screenpush cardsort cards by (bg field "Category" && bg field "Recipe Name")pop cardNumberCardset lockmessages to falseend ifend ChangeCategoryon mouseenterFullBalloons showDirect,"This is the category for this recipe. To change the category for this recipe:"¬¨& return &"(1) Unlock the recipe by clicking the pad lock looking button to the right."¬¨& return & "(2) I will then turn into a pop up menu from which you can choose a different category." & return & "How simple!"end mouseenter</script>
  581.     </part>
  582.     <part>
  583.         <id>37</id>
  584.         <type>button</type>
  585.         <visible> <false /> </visible>
  586.         <reserved5> 0 </reserved5>
  587.         <reserved4> 0 </reserved4>
  588.         <reserved3> 0 </reserved3>
  589.         <reserved2> 0 </reserved2>
  590.         <reserved1> 0 </reserved1>
  591.         <enabled> <true /> </enabled>
  592.         <rect>
  593.             <left>29</left>
  594.             <top>264</top>
  595.             <right>144</right>
  596.             <bottom>285</bottom>
  597.         </rect>
  598.         <style>standard</style>
  599.         <showName> <true /> </showName>
  600.         <highlight> <false /> </highlight>
  601.         <autoHighlight> <true /> </autoHighlight>
  602.         <sharedHighlight> <true /> </sharedHighlight>
  603.         <family>0</family>
  604.         <titleWidth>0</titleWidth>
  605.         <icon>0</icon>
  606.         <textAlign>center</textAlign>
  607.         <font>Chicago</font>
  608.         <textSize>12</textSize>
  609.         <textStyle>plain</textStyle>
  610.         <name>import & export</name>
  611.         <script>on mouseUp-- answer "Do you want to HIDE me?" with yes or no-- if it is yes then hide meANSWER "IMPORT OR EXPORT" WITH Import OR EXPORTIF IT IS IMPORT THEN IMPORTIF IT IS EXPORT THEN ExportSetUpend mouseUp-----------------------------------------------------------------------------------------------importing-----------------------------------------------------------------------------------------------on IMPORTset lockMessages to trueset lockRecent to trueanswer file "Select a text file:" -- of type "TEXT" -- may not want to limitif it is empty then exit IMPORTset cursor to watchput it into inFileopen file infileif the result is not emptythenanswer the resultexit IMPORTend ifread from file infile until returnif it =  "Amy's Recipes 2.x File:" & return then ImportARfileOLD inFileelse if it = "Amy's Recipes 2.3 File:" & return then ImportARFile inFileelse importAnyTEXT inFileclose file infileend IMPORTon ImportARfileOLD infile -- for Amy's Recipes 2.2 files (files with limited categories)global Category--Answer "This is an older Amy's Recipes File.  If importing fails, simply increase the" && ¬¨"application memory available to this program.  Older files take more memory to import" && ¬¨"than the new files because of the way they were structured."-- READS THE FILE AND COUNTS THE RECIPES --------------------------------------------put "Counting Recipes..."close file infileopen file infileread from file infile until endclose file infileput it into InFileTextset itemDelimiter to "‚àû"put the number of items in inFileText into RecipeNumber-- BUILDS AN ORIGINAL RECIPES IN THE FILE --------------------------------------------put empty into InFileIndexPicture "PleaseWait",resource,Dialogrepeat with x = 1 to RecipeNumberput "Finding Original Recipes (" & x & "/" & RecipeNumber & ")"set cursor to busyput (line 3 of item x of INfileText) into TempStorset ItemDelimiter to ":"delete char 1 of item 2 of TempStorif there is not a card (item 2 of TempStor)thenput item 2 of TempStor & "," & x & return after InFileIndexput item 2 of TempStor & return after VisibleIndexput x & "," after ImportListend ifset ItemDelimiter to "‚àû"end repeatdelete last character of ImportListif there is a window "PleaseWait" then close window "PleaseWait"-- ASKS THE USER TO CHOOSE RECIPES TO IMPORT ------- DISABLED BECAUSE OF PROBLEMS ----if InFileIndex is not empty then-- put "Choose recipes to import. [Command Or Shift click to select" &&¬¨-- "multiple recipes.]" into theMessage-- get showList(VisibleIndex,theMessage,true,true,"Import^,Cancel",0)-- if (line 1 of it is cancel) or (line 2 of it is empty) then-- exit ImportARfileOLD-- end ifbeepelseanswer "There are no new recipes in this file.  (You already have"¬¨&& "recipes by all the names in this file."hide messageexit ImportARfileOLDend if-- IMPORT RECIPES ---------------------------------------set cursor to watch-- lock screenpush cardset lockMessages to trueset lockRecent to truePicture "PleaseWait",resource,Dialog-- put line 2 of it into ImportList-- -- number list with commas of line choicesset ItemDelimiter to ","put the number of items in ImportList into ImportListNum-- the number of recipes to importput empty into theListrepeat with RecipeNum = 1 to ImportListNum-- put item RecipeNum of ImportList into TheChoice  -- this is the line number of the index-- put item 2 of line TheChoice of InFileIndex into ImportChoice  -- this is the number of the item the entire file--put item RecipeNum of ImportList into ImportChoice--set ItemDelimiter to "‚àû"Put item ImportChoice of InfileText into TheImportRecipeif the result is not empty then put the resultdelete line 1 of TheImportRecipe -- clear off junkif ":" is not in line 1 of TheimportRecipethen delete line 1 of TheImportRecipe -- clear off junkset ItemDelimiter to ":"put item 1 of line 1 of TheImportRecipe into Categorydelete char 1 of item 2 of line 1 of TheImportRecipe -- deletes spaceput item 2 of line 1 of TheImportRecipe into RecipeNamePut RecipeName & return after theListdelete line 1 to 2 of TheImportRecipe -- leaves only Ingredients and directions-- answer Category & return & RecipeNameput empty into TheIngredientsput 1 into count -- i don't know it this is necessary or notput 0 into deleteCount -- i don't know it this is necessary or notrepeat with Count = 1 to the number of lines in TheImportRecipeif line Count of TheImportRecipe = "Ingredients:"then put Count into DeleteCountif line Count of TheImportRecipe = "Directions:"then exit repeatelse put line count of TheImportRecipe & return after TheIngredientsend repeatrepeat with x = DeleteCount down to 1 -- deletes blank and INgredient linesdelete line x of TheIngredientsend repeatrepeat with x = Count down to 1 -- deletes everything but directionsdelete line x of TheImportRecipeend repeatput TheImportRecipe into TheDirectionsput "Importing... (" & RecipeNum & "/" & ImportListNum & ")" &&  Category & ":" & RecipeNameAddNew RecipeName,Category -- CALLS THE STACK SCRIPTset cursor to watchPut TheIngredients into bg field "Ingredients"put TheDirections into bg field "directions"set ItemDelimiter to ","end repeathide messagesend "LockCard" to bg button "Lock"pop cardaddColor colorCard,stamp,1-- unlock screenif there is a window "PleaseWait" then close window "PleaseWait"ShowTheList TheListplay "Crystal2"end ImportARfileOLDon importAnyText inFileopen file infileread from file infile until endclose file infileput it into InFileText------------------set itemDelimiter to ":"put last item of InFile into theRecipeName------------------answer "The contents of this text"¬¨&& "file will be placed in a seperate window. You can then copy and paste" ¬¨&& "the information into a new recipe.  You can create a blank recipe card"¬¨&& "now, or you can just view the recipe." with "cancel" or "create new" or "view"if it is cancel then exit ImportAnyTextput it into TheResponse------------------set cursor to watchput theRecipeName into WindowNameif there is a window WindowName then close Window WindowNameput "45,42,480,257" into TheRecttextoid WindowName,InFileText,BigWindoidZoom,"0 0 0,65535 65535 52428",theRect¬¨,true,Helvetica,12,Plainset the textWrap of window WindowName to trueset the locktext of window WindowName to false-------------------if TheResponse = view then exit ImportAnyTextglobal Categoryput bg field "Table Of Contents" of card 2 into TheListPut "Select a category for the imported recipe." into theMessagerepeat with x = 1 to the number of lines in TheListif Category = line x of TheList then exit repeatend repeatget showList(TheList,TheMessage,true,true,"OK^,Cancel",x)if line 1 of it is cancelthenclose window WindowNameexit importAnyTextend ifset cursor to watchput line (line 2 of it) of TheList into Category-------if there is a card theRecipeName of bg "recipes" then AddNewElse AddNew theRecipeName--------------put InFileText into bg field "Directions"if there is a window WindowName then close window WindowNameif the OptionKey is not downthen answer "The information from the text file has been put into the place"¬¨&& "for the directions.  You will need to move the ingredients over"¬¨&& "by cutting and pasteing."global ImportModeput "True" into ImportModeend importAnyTexton ShowTheList TheList,TheRectif there is a window "Imported List"thenclose window "Imported List"elseset cursor to watchif TheRect is empty then put rect of bg field "Batch" of card 1 of bg "Recipes" into TheRectListoid "Imported List",TheList,TheRect,bigWindoidZoom,¬¨one,helvetica,12,"Click to view:","DontAllowReorg",0end ifend ShowTheList----------------------------------------------------------------------NEW SCRIPTS 2.3----------------------------------------------------------------------on ImportARFile inFile -- used with Amy's Recipes 2.3 or later--------------------------------------------------------------------- USES LOCAL VARIABLES:-- Infile = path to the TEXT file to be used-- InFileText = chunks of the InFile-- VerseName = name of a single verse being examined-- recordNo = the number of the currently imported record-- ImportList = list of the records imported-- theFields = list of fields to be included in the Import-- TheBackground = name of the background to be exported-- ItemDivider = one char string that acts as a seperator between items-- RecordDivider = one char string that acts as a seperator between verses--------------------------------------------------------------------set cursor to watchset lockMessages to trueset lockRecent to truelock screenwaitMess On--put "Category,Recipe Name,Ingredients,Directions" into theFieldsput "Recipes" into TheBackgroundput numToChar (29) into ItemDividerput numToChar (30) into RecordDividerput empty into ImportListput 0 into recordNoput 0 into FinalCountset cursor to watchpush cardgo bg TheBackgroundset itemDelimiter to ItemDivider--- READS THE LIST OF CATEGORIES, HOWEVER NOTHING IS THIS INFORMATION IS JUST TOSSED FOR RIGHT--- NOW.  LATER THIS MIGHT BE USED TO ALLOW USER TO TELL WHERE IT WANTS ALL RECIPES IN A--- CERTAIN CATEGORY TO GO IF THERE IS NOT A MATCHING CATEGORY, BUT FOR NOW IT DOES NOT DO THISread from file inFile until RecordDivider-----------------------------------------------------------------------------------------------repeatread from file inFile until RecordDividerif it is not empty then put it into InFileTextelseclose file InFileexit repeatend ifadd 1 to RecordNoput item 2 of InFileText into RecipeNameput "Examining Record " && RecordNo & ":" && RecipeNameif there is not a card RecipeNamethenput item 1 of InFileText into CatNameif there is not a card CatName of bg "Contents" thenplay "crystal2"answer "Recipe:" && RecipeName & return & "Category:" && CatName & return & return & ¬¨"There is not a category for this recipe.  Do you want to skip this recipe or select a" &&¬¨"category."  with "skip" or "select"if it = "skip" then next repeatend ifput "Adding Recipe:" && RecipeNameif importList is empty then put RecipeName & return into ImportListelse put RecipeName & return after ImportListadd 1 to FinalCountAddNew RecipeName,CatName -- addnew adds the category if neededput bg field "category" into REALCAT -- repeat script replaces this category by accidentrepeat with x = 1 to the number of items in InfileText - 1 -- EXTRA BLANK FIELD IGNOREDset itemDelimiter to ","put item x of theFields into FieldNameset itemDelimiter to ItemDividerput item x of InFileText into bg field FieldNameend repeatput REALCAT into bg field "Category"end ifend repeatif finalCount = 0 thenlock screenpop cardaddColor ColorCard,stamp,1unlock screenwaitMess Offplay "Crystal2"answer "There were no new recipes imported.  (Recipes with the same names as ones you already"¬¨&& "have in your cookbook are skipped.)"elsesend "lockCard" to bg button "Lock" of card 1 of bg "Recipes"lock screenpop cardaddColor ColorCard,stamp,1unlock screenwaitMess OffShowTheList ImportListplay "Crystal2"answer "Total new recipes imported:" && FinalCountend ifend ImportARFile-- on importText inFile-- -- Uses local variables:-- -- Infile = path to the TEXT file to be used-- -- Countfields = Number of fields in the imported TEXT file-- -- FieldList = Names of bg fields in the order they will be used-- ---------------------------------------------- set lockMessages to false-- set cursor to watch-- ---------------------------------------------- -- countFields of the TEXT File-- put 0 into countFields-- open file inFile-- put "dummy" into it-- repeat until it is empty-- read from file inFile until tab-- add 1 to countFields-- if it contains return then-- exit repeat-- end if-- end repeat-- close file inFile-- ---------------------------------------------- ---------------------------------------------- -- lining up incomming fields with bg fields-- open file inFile-- repeat with x = 1 to countFields - 1-- read from file inFile until tab-- delete last character of it-- Put "Please choose field for, '" & it & "'" into Dialogue-- get chooseBGfield (Dialogue)-- put it & return After FieldList-- end repeat-- -- this does the same for the last field-- read from file inFile until return-- Put "Please choose field for, '" & it & "'" into Dialogue-- get chooseBGfield (Dialogue)-- put it & return After FieldList-- close file inFile-- -- all done!-- ---------------------------------------------- -------------------------------- open file inFile-- put 1 into recNum-- -- loops through the cards & fields until the end of file-- -- this usually creates one or two extra cards, but it-- -- was easy to code.-- put "dummy" into it-- repeat until it is empty-- put "Now on record #" & recNum-- domenu "new card"-- repeat with x = 1 to countFields -1-- read from file inFile until tab-- -- this line removes the tab-- delete last character of it-- repeat while it contains quote-- delete char offset(quote,it) of it-- end repeat-- put line x of FieldList into FieldName-- if field FieldName is empty then put it into field FieldName-- else put "," & it after field FieldName-- end repeat-- -- now do the same for the last field-- read from file inFile until return-- put line (x+1) of FieldList into FieldName-- if field FieldName is empty then put it into field FieldName-- else put "," & it after field FieldName-- put empty into field "Don't Use"-- add 1 to recNum-- end repeat-- close file inFile-- -- ALL DONE!-- hide message-- answer "Done!" && recNum && "records written" with "Ok"-- end importText-------------------------------------------------------------------EXPORTING-------------------------------------------------------------------on exportSETUP-- FileType - the type of text file the user wants---- Choose the File Type -----------------------------------------------------------------------ANSWER "You have the choice of two different types of text files." & return & ¬¨" 1) A NORMAL text file that looks nice and can be read by humans on word processors." & ¬¨return & " 2) A BACK UP Text file designed to be imported into other Amy's Recipes Programs." ¬¨with "Normal" or "BackUp"put it into FileType--Put "Select with recipes you want to export:" into TheMessageif the short name of this bg = "Recipes" thenPut "All" & return & "Complete Category" & return &"Just This Recipe"¬¨& return & "Mini Cookbook" into TheListelse  Put "All" & return & "Complete Category" & return & "Mini Cookbook" into TheListget showList(TheList,TheMessage,False,True,"OK^,Cancel",1)if (line 2 of it is empty) or (line 1 of it is cancel) then exit exportSETUPset cursor to watchput line (line 2 of it) of TheList into TheResultif TheResult = "all" then exportAll FileTypeif TheResult is "Complete Category" then exportCat FileTypeif TheResult = "Just This Recipe" then ExportOne FileTypeif TheResult = "Mini Cookbook" then ExportMini FileTypeend exportSETUPon ExportOne FileTypeput bg field "Recipe Name" into BatchListput bg field "Category" into CatListif filetype = "Normal" then ExportNormalText BatchList,BatchListelse ExportARFile BatchList,BatchList,CatListend ExportOneon ExportMini FileTypeput bg field "Batch" of card 1 of bg "recipes" into BatchListput empty into CatListrepeat with x = 1 to the number of lines in BatchListput line x of batchlist into CardNameif bg field "Category" of card CardName is not in CatListthen put (bg field "Category" of card CardName) & return after CatListend repeatif filetype = "Normal" then ExportNormalText BatchList,"Mini Cookbook"else ExportARFile BatchList,"Mini Cookbook",CatListend exportMinion exportCat FileTypeglobal Categoryput "Select which category you want to export as a TEXT file:" into TheMessageput bg field "Table of Contents" of Card 2 into TheListrepeat with x = 1 to the number of lines in TheListif Category = line x of TheList then exit repeatend repeatget showList(TheList,TheMessage,false,True,"OK^,Cancel",x)if (line 2 of it is empty) or (line 1 of it is cancel) then exit ExportCatelse put line (line 2 of it) of TheList into CatNameput bg field "Recipe Names" of card CatName into TheRecListif filetype = "Normal" then ExportNormalText TheRecList,CatNameelse ExportARFile TheRecList,CatName,CatNameend exportCaton exportAll FileTyperepeat with x = 1 to the number of cards in bg "Contents"put bg field "Recipe Names" of card x of bg "Contents" after BigListend repeatput bg field "table of contents" of card 1 of bg "Contents" into CatListput "Amy's Recipes" & the date into FileNameif filetype = "Normal" then ExportNormalText BigList,FileNameelse ExportARFile BigList,FileName,CatListend ExportAllon ExportARFile TheList,FileName,CatList -- EXPORTS AN AMY'S RECIPE FILE-- outFile = name and location of file to be saved-- outFileText = temporary storage for chunks of the outfile contents-- theFields = list of fields to be included in the export-- TheBackground = name of the background to be exported-- ItemDivider = one char string that acts as a seperator between items-- RecordDivider = one char string that acts as a seperator between verses-- HeaderVersion = First chunk of information that gives information about the file-- CatList = List of Categories exported--set cursor to watchset lockMessages to trueset lockRecent to true--put "Amy's Recipes 2.3 File:" into HeaderVersion--ask file "My TEXT Backup" with FileName & ".ARF"if it is empty then exit ExportARFileput it into outFileset cursor to watchset cantAbort of this stack to truewaitMess On--put "Category,Recipe Name,Ingredients,Directions" into theFieldsput "Recipes" into TheBackgroundput numToChar (29) into ItemDividerput numToChar (30) into RecordDivider---- PUTS A HEADER LINE B4 outFileText SO THE FILE WILL BE RECOGNIZED---- put "Saving information as" && outFileput HeaderVersion & return into outFileTextopen file outFilewrite outFileText to file outFile----  WRITES A LIST OF CATEGORIES AFTER THE HEADER LINE FOLLOWED BY A RecordDivider--put CatList & RecordDivider into outFileTextwrite outFileText to file outFile--push cardlock screengo bg theBackgroundput the number of lines in TheList into MaxNumberrepeat with x = 1 to MaxNumberset cursor to busyput line x of TheList into CardNameput "Writing AR File" && "(" & x &&"out of" && MaxNumber & ")" && CardNameput empty into outFileTextrepeat with y = 1 to the number of items in theFieldsput item Y of TheFields into ThisFieldput bg field ThisField of card CardName after outFileTextput ItemDivider after outFileTextend repeat -- end y repeatput RecordDivider after outFileTextwrite outFileText to file outFileend repeat  -- end x repeatclose file outFilepop cardhide messagewaitMess offset cantAbort of this stack to falseend ExportARFileon ExportNormalText TheList,TheFileName -- THIS BUILDS A NORMAL TEXT FILE TO BE READ BY HUMANSAsk File "Enter name for recipe text file:" with TheFileNameif it is empty then exit ExportNormalTextset cursor to watchput it into OutFileNameput "__________________________________________________________" & return into DLineput "" into RDividerput TheList into BatchListput empty into OutFileTextput the number of lines in BatchList into MaxNumber--put "This File Was Made By Amy's Recipes by Image Works Plus Software" & return & return ¬¨into OutFileTextput "Writing file:" && OutFileNameopen file OutFileNamewrite OutFileText to file OutFileName--repeat with x = 1 to MaxNumberput empty into OutFileTextput line x of BatchList into CardNameput "Building NORMAL text file" && "(" & x && "of" && MaxNumber &"):" && CardName--repeat until "‚àû" is not in (bg field "Category" of card CardName)put " " into char offset("‚àû",bg field "Category" of card CardName) of bg field "Category" of card CardNameend repeatrepeat until "‚àû" is not in (bg field "Recipe Name" of card CardName)put " " into char offset("‚àû",bg field "Recipe Name" of card CardName) of bg field "Recipe Name" of card CardNameend repeatrepeat until "‚àû" is not in (bg field "ingredients" of card CardName)put " " into char offset("‚àû",bg field "ingredients" of card CardName) of bg field "ingredients" of card CardNameend repeatrepeat until "‚àû" is not in (bg field "directions" of card CardName)put " " into char offset("‚àû",bg field "directions" of card CardName) of bg field "directions" of card CardNameend repeat--put DLine & (bg field "Category" of card CardName) & ":" && ¬¨(bg field "Recipe Name" of card CardName) & return & DLine ¬¨& Return  & "INGREDIENTS:" & return & (bg field "ingredients" of card CardName) ¬¨after OutFileTextif the last line of OutFileText is not empty then put return after OutFileTextif the last line of OutFileText is not empty then put return after OutFileTextput "DIRECTIONS:" & return & (bg field "Directions" of card CardName) after OutFileTextif the last line of OutFileText is empty then delete last line of OutFileTextput return & return after OutFileTextwrite OutFileText to file OutFileNameend repeatclose file OutFileNamehide messageend ExportNormalText-- need to import old files correctly -adding categories if needed (you already know all the cats)-- need to import new files correctly -- adding categories if needed (You don't know the cats)-- so write the cats at the top of the new file, then the user can be prompt if he wants to-- add a new cat (see if it is possible) or if he wants to put those recipes into an existing cat-- or just doesn't want to import them.-- yeah - let them pick which categories they want to import (all or multiple)-- then see if those categories already exists or need to be made or imported into and existing-- cat.-- Also make a list of all new recipes in a floating window like before.</script>
  612.     </part>
  613.     <part>
  614.         <id>41</id>
  615.         <type>field</type>
  616.         <visible> <true /> </visible>
  617.         <dontWrap> <false /> </dontWrap>
  618.         <dontSearch> <false /> </dontSearch>
  619.         <sharedText> <true /> </sharedText>
  620.         <fixedLineHeight> <false /> </fixedLineHeight>
  621.         <autoTab> <false /> </autoTab>
  622.         <lockText> <true /> </lockText>
  623.         <rect>
  624.             <left>15</left>
  625.             <top>380</top>
  626.             <right>28</right>
  627.             <bottom>392</bottom>
  628.         </rect>
  629.         <style>opaque</style>
  630.         <autoSelect> <false /> </autoSelect>
  631.         <showLines> <false /> </showLines>
  632.         <wideMargins> <false /> </wideMargins>
  633.         <multipleLines> <false /> </multipleLines>
  634.         <reservedFamily> 0 </reservedFamily>
  635.         <titleWidth>0</titleWidth>
  636.         <icon>0</icon>
  637.         <textAlign>left</textAlign>
  638.         <font>Geneva</font>
  639.         <textSize>12</textSize>
  640.         <textStyle>plain</textStyle>
  641.         <textHeight>16</textHeight>
  642.         <name>hideIt2</name>
  643.         <script></script>
  644.     </part>
  645.     <part>
  646.         <id>42</id>
  647.         <type>button</type>
  648.         <visible> <true /> </visible>
  649.         <reserved5> 0 </reserved5>
  650.         <reserved4> 0 </reserved4>
  651.         <reserved3> 0 </reserved3>
  652.         <reserved2> 0 </reserved2>
  653.         <reserved1> 0 </reserved1>
  654.         <enabled> <true /> </enabled>
  655.         <rect>
  656.             <left>369</left>
  657.             <top>348</top>
  658.             <right>411</right>
  659.             <bottom>398</bottom>
  660.         </rect>
  661.         <style>shadow</style>
  662.         <showName> <true /> </showName>
  663.         <highlight> <false /> </highlight>
  664.         <autoHighlight> <true /> </autoHighlight>
  665.         <sharedHighlight> <true /> </sharedHighlight>
  666.         <family>0</family>
  667.         <titleWidth>0</titleWidth>
  668.         <icon>22336</icon>
  669.         <textAlign>center</textAlign>
  670.         <font>Helvetica</font>
  671.         <textSize>12</textSize>
  672.         <textStyle>plain</textStyle>
  673.         <name>Help</name>
  674.         <script>on mouseUpplay "click"helpMeend mouseUpon mouseenterFullBalloons showDirect,"Click me view and or print the instructions."end mouseenter</script>
  675.     </part>
  676.     <part>
  677.         <id>43</id>
  678.         <type>button</type>
  679.         <visible> <true /> </visible>
  680.         <reserved5> 0 </reserved5>
  681.         <reserved4> 0 </reserved4>
  682.         <reserved3> 0 </reserved3>
  683.         <reserved2> 0 </reserved2>
  684.         <reserved1> 0 </reserved1>
  685.         <enabled> <true /> </enabled>
  686.         <rect>
  687.             <left>285</left>
  688.             <top>348</top>
  689.             <right>367</right>
  690.             <bottom>398</bottom>
  691.         </rect>
  692.         <style>shadow</style>
  693.         <showName> <true /> </showName>
  694.         <highlight> <false /> </highlight>
  695.         <autoHighlight> <true /> </autoHighlight>
  696.         <sharedHighlight> <true /> </sharedHighlight>
  697.         <family>0</family>
  698.         <titleWidth>0</titleWidth>
  699.         <icon>22003</icon>
  700.         <textAlign>center</textAlign>
  701.         <font>Helvetica</font>
  702.         <textSize>12</textSize>
  703.         <textStyle>bold</textStyle>
  704.         <name>Add New Recipe</name>
  705.         <script>on mouseUpplay "click"GetCategoryend mouseupon mouseenterFullBalloons showDirect,"Click me to add a new recipe." -- ¬¨-- &&"(" & bg field "index name" & ")"end mouseenter</script>
  706.     </part>
  707.     <part>
  708.         <id>44</id>
  709.         <type>button</type>
  710.         <visible> <true /> </visible>
  711.         <reserved5> 0 </reserved5>
  712.         <reserved4> 0 </reserved4>
  713.         <reserved3> 0 </reserved3>
  714.         <reserved2> 0 </reserved2>
  715.         <reserved1> 0 </reserved1>
  716.         <enabled> <true /> </enabled>
  717.         <rect>
  718.             <left>73</left>
  719.             <top>348</top>
  720.             <right>155</right>
  721.             <bottom>398</bottom>
  722.         </rect>
  723.         <style>shadow</style>
  724.         <showName> <true /> </showName>
  725.         <highlight> <false /> </highlight>
  726.         <autoHighlight> <true /> </autoHighlight>
  727.         <sharedHighlight> <true /> </sharedHighlight>
  728.         <family>0</family>
  729.         <titleWidth>0</titleWidth>
  730.         <icon>22676</icon>
  731.         <textAlign>center</textAlign>
  732.         <font>Helvetica</font>
  733.         <textSize>12</textSize>
  734.         <textStyle>bold</textStyle>
  735.         <name>Mini Cookbook</name>
  736.         <script>on mouseUpplay "click"showbatchlistend mouseupon mouseenterFullBalloons showDirect,"Click me to view your Mini-Cookbook."¬¨&& "(The Mini-Cookbook allows you to select muliple recipes for printing.)"end mouseenter</script>
  737.     </part>
  738.     <part>
  739.         <id>45</id>
  740.         <type>button</type>
  741.         <visible> <true /> </visible>
  742.         <reserved5> 0 </reserved5>
  743.         <reserved4> 0 </reserved4>
  744.         <reserved3> 0 </reserved3>
  745.         <reserved2> 0 </reserved2>
  746.         <reserved1> 0 </reserved1>
  747.         <enabled> <true /> </enabled>
  748.         <rect>
  749.             <left>156</left>
  750.             <top>348</top>
  751.             <right>188</right>
  752.             <bottom>372</bottom>
  753.         </rect>
  754.         <style>shadow</style>
  755.         <showName> <false /> </showName>
  756.         <highlight> <false /> </highlight>
  757.         <autoHighlight> <true /> </autoHighlight>
  758.         <sharedHighlight> <true /> </sharedHighlight>
  759.         <family>0</family>
  760.         <titleWidth>0</titleWidth>
  761.         <icon>22255</icon>
  762.         <textAlign>center</textAlign>
  763.         <font>Helvetica</font>
  764.         <textSize>12</textSize>
  765.         <textStyle>bold</textStyle>
  766.         <name>Add to Mini</name>
  767.         <script>on mouseUpplay "click"if the optionkey is down then addfromallelse addtolistend mouseupon mouseenterFullBalloons showDirect,"Click me add this recipe to your Mini-Cookbook."¬¨&& "Hold down the OPTION key and click to add multiple recipes from a master list."end mouseenter</script>
  768.     </part>
  769.     <part>
  770.         <id>46</id>
  771.         <type>button</type>
  772.         <visible> <true /> </visible>
  773.         <reserved5> 0 </reserved5>
  774.         <reserved4> 0 </reserved4>
  775.         <reserved3> 0 </reserved3>
  776.         <reserved2> 0 </reserved2>
  777.         <reserved1> 0 </reserved1>
  778.         <enabled> <true /> </enabled>
  779.         <rect>
  780.             <left>157</left>
  781.             <top>374</top>
  782.             <right>189</right>
  783.             <bottom>398</bottom>
  784.         </rect>
  785.         <style>shadow</style>
  786.         <showName> <false /> </showName>
  787.         <highlight> <false /> </highlight>
  788.         <autoHighlight> <true /> </autoHighlight>
  789.         <sharedHighlight> <true /> </sharedHighlight>
  790.         <family>0</family>
  791.         <titleWidth>0</titleWidth>
  792.         <icon>22240</icon>
  793.         <textAlign>center</textAlign>
  794.         <font>Helvetica</font>
  795.         <textSize>12</textSize>
  796.         <textStyle>bold</textStyle>
  797.         <name>Remove from Mini</name>
  798.         <script>on mouseUpplay "click"if the optionkey is down then deletemultipleelse removefromlistend mouseupon mouseenterFullBalloons showDirect,"Click me to remove this recipe from your Mini-Cookbook."¬¨&& "Hold down the OPTION key and click to delete multiple recipes."end mouseenter</script>
  799.     </part>
  800.     <part>
  801.         <id>47</id>
  802.         <type>button</type>
  803.         <visible> <true /> </visible>
  804.         <reserved5> 0 </reserved5>
  805.         <reserved4> 0 </reserved4>
  806.         <reserved3> 0 </reserved3>
  807.         <reserved2> 0 </reserved2>
  808.         <reserved1> 0 </reserved1>
  809.         <enabled> <true /> </enabled>
  810.         <rect>
  811.             <left>40</left>
  812.             <top>348</top>
  813.             <right>72</right>
  814.             <bottom>372</bottom>
  815.         </rect>
  816.         <style>shadow</style>
  817.         <showName> <true /> </showName>
  818.         <highlight> <false /> </highlight>
  819.         <autoHighlight> <true /> </autoHighlight>
  820.         <sharedHighlight> <true /> </sharedHighlight>
  821.         <family>0</family>
  822.         <titleWidth>0</titleWidth>
  823.         <icon>0</icon>
  824.         <textAlign>center</textAlign>
  825.         <font>Helvetica</font>
  826.         <textSize>9</textSize>
  827.         <textStyle>plain</textStyle>
  828.         <name>Clear</name>
  829.         <script>on mouseUpplay "click"clearlistend mouseupon mouseenterFullBalloons showDirect,"Click me clear all recipes from the Mini-Cookbook." -- ¬¨-- &&"(" & bg field "index name" & ")"end mouseenter</script>
  830.     </part>
  831.     <part>
  832.         <id>48</id>
  833.         <type>button</type>
  834.         <visible> <true /> </visible>
  835.         <reserved5> 0 </reserved5>
  836.         <reserved4> 0 </reserved4>
  837.         <reserved3> 0 </reserved3>
  838.         <reserved2> 0 </reserved2>
  839.         <reserved1> 0 </reserved1>
  840.         <enabled> <true /> </enabled>
  841.         <rect>
  842.             <left>40</left>
  843.             <top>374</top>
  844.             <right>72</right>
  845.             <bottom>398</bottom>
  846.         </rect>
  847.         <style>shadow</style>
  848.         <showName> <true /> </showName>
  849.         <highlight> <false /> </highlight>
  850.         <autoHighlight> <true /> </autoHighlight>
  851.         <sharedHighlight> <true /> </sharedHighlight>
  852.         <family>0</family>
  853.         <titleWidth>0</titleWidth>
  854.         <icon>0</icon>
  855.         <textAlign>center</textAlign>
  856.         <font>Helvetica</font>
  857.         <textSize>9</textSize>
  858.         <textStyle>plain</textStyle>
  859.         <name>Print</name>
  860.         <script>on mouseUpplay "click"printbatchend mouseupon mouseenterFullBalloons showDirect,"Click me print all the recipes in your Mini-Cookbook." -- ¬¨-- &&"(" & bg field "index name" & ")"end mouseenter</script>
  861.     </part>
  862.     <part>
  863.         <id>49</id>
  864.         <type>button</type>
  865.         <visible> <true /> </visible>
  866.         <reserved5> 0 </reserved5>
  867.         <reserved4> 0 </reserved4>
  868.         <reserved3> 0 </reserved3>
  869.         <reserved2> 0 </reserved2>
  870.         <reserved1> 0 </reserved1>
  871.         <enabled> <true /> </enabled>
  872.         <rect>
  873.             <left>505</left>
  874.             <top>348</top>
  875.             <right>537</right>
  876.             <bottom>398</bottom>
  877.         </rect>
  878.         <style>shadow</style>
  879.         <showName> <true /> </showName>
  880.         <highlight> <false /> </highlight>
  881.         <autoHighlight> <true /> </autoHighlight>
  882.         <sharedHighlight> <true /> </sharedHighlight>
  883.         <family>0</family>
  884.         <titleWidth>0</titleWidth>
  885.         <icon>22539</icon>
  886.         <textAlign>center</textAlign>
  887.         <font>Chicago</font>
  888.         <textSize>12</textSize>
  889.         <textStyle>plain</textStyle>
  890.         <name>Find</name>
  891.         <script>on mouseUpplay "click"domenu "find..."end mouseUpon mouseenterput "Click me to find recipes by searching for a word or phrase." into¬¨TheMessageFullBalloons showDirect,TheMessageend mouseenter</script>
  892.     </part>
  893.     <content>
  894.         <layer>background</layer>
  895.         <id>7</id>
  896.         <text>Ingredients:</text>
  897.     </content>
  898.     <content>
  899.         <layer>background</layer>
  900.         <id>9</id>
  901.         <text>Directions:</text>
  902.     </content>
  903.     <content>
  904.         <layer>background</layer>
  905.         <id>10</id>
  906.         <text>Appetizers</text>
  907.     </content>
  908.     <content>
  909.         <layer>background</layer>
  910.         <id>11</id>
  911.         <text>Pumpkin Bread</text>
  912.     </content>
  913.     <content>
  914.         <layer>background</layer>
  915.         <id>17</id>
  916.         <text>2 of 4</text>
  917.     </content>
  918.     <content>
  919.         <layer>background</layer>
  920.         <id>35</id>
  921.         <text>AppetizersBreadsCandy & CookiesDessertsEggs & CheeseFish & SeafoodMeatsNon-EdiblePoultrySalads & SoupsSaucesVegetables</text>
  922.     </content>
  923.     <content>
  924.         <layer>background</layer>
  925.         <id>29</id>
  926.         <text>Layered DipLow Cal Spice Tea MixMexican Cheese Fudge</text>
  927.     </content>
  928.     <name>Recipes</name>
  929.     <script>on openbackgroundglobal ColorONThisBgMenus-- if ColorOn = "True" -- this may not be needed to addcolor command-- are scripted properly-- then-- addcolor colorcard-- addColor disable -- no need to update until leaving bg-- end ifend openbackgroundon closeBackgroundglobal ColorON-- if ColorOn = "True" -- this may not be needed to addcolor command-- are scripted properly-- if ColorOn = "True"-- then addColor enable -- no need to update until leaving bgend CloseBackgroundon ThisBgMenus-- each bg is resonsible for setting up the menus for itselfif there is a menu "Mini Cookbook"thenenable menuitem 1 of menu "Mini Cookbook"enable menuitem 2 of menu "Mini Cookbook"end ifif there is a menuItem "Print Recipe" of menu "File"then enable menuItem "Print Recipe" of menu "File"if there is a menuItem "Delete Recipe" of menu "Edit"then enable menuItem "Delete Recipe" of menu "Edit"end ThisBgMenuson closecardif icon of bg button "lock" = 145thensend LockCard to bg button "lock"end ifpass closeCardend closecardon opencardNumberCardpass openCardend opencardON NumberCardput number of last card of this bg into lastcput number of first card of this bg into firstcput lastc +1 - firstc into totalcput (number of this card +1 - firstc) && "of" &&¬¨totalc into bg field "page"end NumberCardon arrowKey directionif locktext of bg field "directions" = falsethenif direction = "up"thentype "/"else send ("arrowkey" && direction) to HyperCardelse if direction is "down" then play nothingelse if direction is "up" then play nothingelse pass arrowkeyend arrowkeyOn DeleteRecipeif the OptionKey is not downthenanswer "Are you really sure that you want to delete this recipe.  This"¬¨&& "decision CANNOT be undone." with yes or cancelif it is cancel then exit DeleteRecipeend ifset cursor to watchlock screenput bg field "Recipe Name" into RecipeNameput bg field "Category" into CatNameput bg field "Recipe Names" of card CatName into OldCatListput offset(RecipeName,OldCatList) into StartPointput the number of characters in RecipeName + StartPoint into EndPoint  -- deletes name and return markput empty into char StartPoint to Endpoint of OldCatListput OldCatList into bg field "Recipe Names" of card (bg field "Category")if there is a window (bg field "Category")then set text of window (bg field "Category") to OldCatListplay "Tear"push next card of this bgdomenu "delete card"pop cardglobal ColorONif ColorOn = "True" thenAddColor colorCard,dissolve,10unlock screenelse unlock screen with visual dissolveend DeleteRecipeon PrintRecipeask "How many copies of this recipe do you want to print" with 1if it is not a number or it < 1 then exit PrintRecipeput it into TotalCopiesif TotalCopies > 1thenAnswer "Print copies on SEPERATE pages or CONTINUOUS?"¬¨& return & return & "(The continuous response lets you print the copies on the same page and you cut them out - saves paper.)" ¬¨with "cancel" or "Continuous" or "Separate"if it is cancel then exit PrintRecipeelse put it into Formend ifif Form = "Continuous"thenopen report printing with template "Cook Book"repeat with Count = 1 to TotalCopiesprint this cardend Repeatclose printingelserepeat with Count = 1 to TotalCopiesopen report printing with template "Cook Book"print this cardclose printingend Repeatend ifend PrintRecipe-- Mini Cookbook MENU -------------------------------------------------------on AddToList Nameif name is empty then put bg field "Recipe Name" into Nameif Name & return is in bg field "Batch" then exit AddToListput name & Return after bg field "batch"Sort lines of bg field "batch"if there is a window "Mini Cookbook"thenif the number of lines in bg field "Batch" = 1thenput rect of window "Mini Cookbook" into TheRectclose window "Mini Cookbook"ShowBatchList TheRectelse set text of window "Mini Cookbook" to bg field "Batch"set the selectedLine of window "Mini Cookbook" to 0end ifend AddToListon RemoveFromList RecipeNameif RecipeName is empty then put bg field "Recipe Name" into RecipeNamerepeat with x = number of lines of bg field "Batch" down to 1if line x of bg field "Batch" = RecipeNamethen delete line x of bg field "Batch"end repeatif there is a window "Mini Cookbook"then set text of window "Mini Cookbook" to bg field "Batch"end RemoveFromListon ClearListanswer "Are you sure you want to clear the Mini Cookbook list?"¬¨with "yes" or "cancel"if it = "yes" then put empty into bg field "Batch"if there is a window "Mini Cookbook"then set text of window "Mini Cookbook" to bg field "Batch"end ClearListon DeleteMultiple -- MAKE THIS FASTERPut "Mini Cookbook List.  Hold down the command key to select" &&¬¨"multiple lines to delete." into TheMessageput bg field "Batch" into BatchListget showList(BatchList,TheMessage,true,true,"Remove,View^,Cancel",0)if line 1 of it = "Cancel" then exit DeleteMultipleelse if line 1 of it = "View"thenplay "slide"do visual wipe down very fastgo card (line (item 1 of line 2 of it) of BatchList)else if line 1 of it = "Remove"thenset cursor to watchPut line 2 of it into RecipeNames -- numbers seperated by a commarepeat with Z = number of items in RecipeNames down to 1set cursor to busydelete line (item Z of recipeNames) of BatchListend repeatput BatchList into bg field "Batch"if there is a window "Mini Cookbook"thenput rect of window "Mini Cookbook" into TheRectclose window "Mini Cookbook"ShowBatchList TheRectend ifend ifend DeleteMultipleon ShowBatchList TheRectif there is not a window "Mini Cookbook"thenset cursor to watchif TheRect is empty then put rect of bg field "Batch" into TheRectListoid "Mini Cookbook",bg field "Batch",TheRect,bigWindoidZoom,¬¨one,helvetica,12,"Click to view:","DontAllowReorg",0else show window "Mini Cookbook"end ShowBatchListon AddFromAllset cursor to watchput empty into BigListrepeat with x = 2 to the number of cards in bg "Contents"put bg field "Recipe Names" of card x of bg "Contents" after BigListend repeatsort lines of BigListPut number of lines in BigList && "Recipes Total." &&¬¨"Use COMMAND KEY and CLICK to add multiple recipes to the" &&¬¨"Mini Cookbook list." into TheMessageset cursor to arrowget showList(BigList,TheMessage,true,true,"Add,View^,Cancel",0)if line 1 of it = "Cancel" then exit AddFromAllelse if line 1 of it = "View"thenplay "slide"do visual wipe down very fastgo card (line (item 1 of line 2 of it) of BigList)else if line 1 of it = "Add"thenset cursor to watchPut line 2 of it into RecipeNamesput bg field "Batch" into BatchListrepeat with ItemX = 1 to the number of items in RecipeNamesset cursor to busyput (line (item Itemx of RecipeNames) of BigList) & return¬¨into TheRecipeName -- put individual names into variableif TheRecipeName is not in BatchList then put TheRecipeName ¬¨before BatchList -- check for duplicate recipesend repeatsort lines of BatchListput BatchList into bg field "Batch"if there is a window "Mini Cookbook"thenif the number of lines in bg field "Batch" = 1thenput rect of window "Mini Cookbook" into TheRectclose window "Mini Cookbook"ShowBatchList TheRectelseset text of window "Mini Cookbook" to bg field "Batch"end ifset the selectedLine of window "Mini Cookbook" to 0end ifend ifend AddFromAllon FixBatchListput bg field "Batch" into BatchListrepeat with x = number of lines of bg field "Batch" down to 1if line x of BatchList is empty then delete line x of bg field "Batch"else if there is not a card (line x of BatchList) then delete line x of bg field "Batch"end repeatif there is a window "Mini Cookbook"then set text of window "Mini Cookbook" to bg field "Batch"end FixBatchList------ LISTOID HANDLERS -------------------------------------------- on ListoidSelect What,Where-- put Where & " : " & What-- wait 1 sec-- end ListoidSelect-- on closeListoid Which-- put "You closed windoid ‚Äú" & Which & "‚Äù"-- end closeListoid-- on controlKey What-- if there is a window "TheList"-- then send numToChar(What) to window "TheList"-- else pass controlKey-- end ControlKey-- on clickInListoid Which -- MOVED TO STACK SCRIPT-- play "Click"-- play "slide"-- visual wipe down very fast-- Go Card (the selectedText of window which)-- end clickInListoid----------------------------------------------------------------------------on deletecardsset lockMessages to trueset lockRecent to truelock screenask "how many"put it into TheNumrepeat with x = 1 to TheNumdomenu "Delete card"set cursor to busyend repeatend deletecards</script>
  930. </background>
  931.